<?php

class Application_Model_ToDo extends Sgit_Model
{
    protected $_name = 'todo';
    protected $_primary = 'id';
    
    public function getTareas($values = array())
    {


        //permite pasar unico parametro id del contador
        if(is_numeric($values)){
            $id=$values;unset($values);$values['id']=$id;unset($id);
        } 


        $select = $this->getAdapter()
            ->select()
            ->from(array($this->_name), array('*'))
            ->joinLeft('gestion_proyectos', "gestion_proyectos.id = {$this->_name}.id_proyecto", array('proyecto'))
            ->joinLeft('proyectos', "proyectos.id = {$this->_name}.id_cliente", array('nombre'));
      

        if (is_array($values['id']) || is_numeric($values['id']))
        {
            $select->where("{$this->_name}.id IN (?)", $values['id']);
        }


        if (is_numeric($values['finalizado']) && $values['finalizado']==1)
            $select->where("{$this->_name}.avance = 100");
        elseif(is_numeric($values['finalizado']) && $values['finalizado']==0)     
            $select->where("{$this->_name}.avance < 100");

        if (is_numeric($values['usuario_asignado']))
            $select->where("{$this->_name}.usuario_asignado = ?",$values['usuario_asignado'],INTEGER);
        if (is_numeric($values['id_proyecto']))
            $select->where("{$this->_name}.id_proyecto = ?",$values['id_proyecto'],INTEGER);
        if (is_numeric($values['id_zona']))
            $select->where("{$this->_name}.id_zona = ?",$values['id_zona'],INTEGER);


        if (is_numeric($values['tipo']))
            $select->where("{$this->_name}.tipo = ?",$values['tipo'],INTEGER);


        $select->order('avance desc');

        $rows = $this->getAdapter()->fetchAll($select);

        foreach($rows as &$v)
        {
            $v['usuario']=Sgit_Cache::single()->model('Usuario')->getKey($v['usuario_asignado']);
            $v['zona']=Sgit_Cache::single()->model('Datacenter')->getKey($v['id_zona']);
            
            
            $v['tarea']='T'.str_pad($v['id'],4,'0',STR_PAD_LEFT).' '.$v['tarea'];
            if($v['id_cliente'])
                $v['proyecto']=$v['nombre'];
            elseif($v['id_proyecto'])
                $v['proyecto']='P-'.str_pad($v['id_proyecto'],4,'0',STR_PAD_LEFT).' '.$v['proyecto'];
            
        }


        if (is_numeric($values['id']))
            return $rows[0];
        else
            return $rows;
    }
    
}


